home *** CD-ROM | disk | FTP | other *** search
/ Amiga News 95 / Amiga News 95.iso / dpat / dpat96 / klondike_adptools_v1.1 / datas / english.lha / 4-CreateCardset.adpro < prev   
Text File  |  1995-04-15  |  5KB  |  215 lines

  1. /*
  2. ** CreateCardset.adpro :
  3. **  This ARexx script for ADPro v2.5 or higher, make a Klondike cardset with
  4. **  the tool 'reko', and finally save it.
  5. **  NORMALLY ONLY USED IF 3-RenderCardset.adpro FAILED !!
  6. **
  7. **  Klondike & Reko tools © Copyright Reko Produtions - All rights reserved.
  8. **
  9. ** $VER: CreateCardset/English v1.1 (06.04.95) © Copyright Lejardinier Olivier - All rights reserved
  10. **
  11. */
  12.  
  13.  ADDRESS "ADPro"
  14.  OPTIONS RESULTS
  15.  
  16.  NL = '0A'X
  17.  FALSE = 0
  18.  TRUE = 1
  19.  
  20. /*
  21. ** Save the current environment.
  22. */
  23.  
  24.  TempDefaults = "T:TempADProDefaults"
  25.  SAVE_DEFAULTS TempDefaults
  26.  
  27. /*
  28. ** Initializations.
  29. */
  30.  
  31.  CLOSE_RENDER_SCREEN
  32.  CLEAR_RENDERED
  33.  CLEAR_RAW
  34.  PSTATUS "UNLOCKED"
  35.  ADPRO_TO_FRONT
  36.  
  37. /*
  38. ** Get cards files.
  39. */
  40.  
  41.  Continue = FALSE
  42.  DO UNTIL ( Continue = TRUE )
  43.   GETFILE '"Select first card :"'
  44.   IF (RC ~= 0) THEN
  45.    DO
  46.     Text = "You MUST select a rendered card !"
  47.     OKAYN '"Error :"' '"'Text'"' '"Select|Abort"'
  48.     IF ( RC = 0 ) THEN
  49.      CALL ForceExit
  50.    END
  51.   ELSE
  52.    DO
  53.     SourceDir = ADPRO_RESULT
  54.     Continue = TRUE
  55.    END
  56.  END
  57.  
  58.  FirstChar = LEFT( SourceDir , 1 )
  59.  IF ( (FirstChar = '"') | (FirstChar = '''') ) THEN
  60.   SourceDir = STRIP( SourceDir, "B" , FirstChar )
  61.  
  62.  FNameSepPos = LASTPOS( '/' , SourceDir )
  63.  IF ( FNameSepPos = 0 ) THEN
  64.   FNameSepPos = LASTPOS( ':' , SourceDir )
  65.  
  66.  IF ( FNameSepPos ~= 0 ) THEN
  67.   DO
  68.    Basename = RIGHT( SourceDir , LENGTH( SourceDir ) - FNameSepPos )
  69.    SourceDir = LEFT( SourceDir , FNameSepPos )
  70.    IF ( LASTPOS( '.'  , Basename ) ~= 0 ) THEN
  71.     Basename = DELSTR( Basename , LASTPOS( '.'  , Basename ) )
  72.   END
  73.  ELSE
  74.   CALL ForceExit
  75.  
  76. /*
  77. ** Get type of cardset.
  78. */
  79.  
  80.  Text = "- 55 cards (standard)   " || NL || "- 59 cards (extra cards)"
  81.  OKAYN '"Select type of cardset :"' '"'Text'"' '"55|59|Abort"'
  82.  IF ( RC = 0 ) THEN
  83.   CALL ForceExit
  84.  ELSE
  85.   IF ( RC = 1 ) THEN
  86.    NumberOfCards = 55
  87.   ELSE
  88.    NumberOfCards = 59
  89.  
  90. /*
  91. ** Check all created cards.
  92. */
  93.  
  94.  Continue = TRUE
  95.  Index = 0
  96.  DO WHILE ( Index <= NumberOfCards - 1 )
  97.   IF ( Index < 10 ) THEN
  98.    Cardname = SourceDir || Basename || ".00" || Index 
  99.   ELSE
  100.    IF ( Index < 100 ) THEN
  101.     Cardname = SourceDir || Basename || ".0" || Index
  102.    ELSE
  103.     Cardname = SourceDir || Basename || "." || Index
  104.   IF ( ~EXISTS( Cardname ) ) THEN
  105.    DO
  106.     Continue = FALSE
  107.     Text = "Sorry, Card" || Index " not found !"
  108.     OKAYN '"Error :"' '"'Text'"' '"Check next|Quit"'
  109.     IF ( RC = 0 ) THEN
  110.      CALL ForceExit
  111.     ELSE
  112.      Index = Index + 1
  113.    END
  114.   ELSE
  115.    Index = Index + 1
  116.  END
  117.  
  118.  IF ( Continue = FALSE ) THEN
  119.   DO
  120.    Text = "Some cards aren't correctly rendered or missing." || NL || "You should run 3-RenderCardset.adpro to retry."
  121.    OKAYN '"Infos :"' '"'Text'"' '"Quit"'
  122.    CALL ForceExit
  123.   END
  124.    
  125. /*
  126. ** Make final cardset.
  127. */
  128.  
  129.  DestDir = SourceDir
  130.  
  131.  Continue = FALSE
  132.  DO UNTIL ( Continue = TRUE )
  133.   Title = "Place" Basename || ".REKO in ? :"
  134.   GETDIR '"'Title'"' '"'DestDir'"'
  135.   IF ( RC = 0 ) THEN
  136.    DO
  137.     ToDir = ADPRO_RESULT
  138.     IF ( ( RIGHT( ToDir , 1 ) ~= "/" ) & ( RIGHT( ToDir , 1 ) ~= ":" ) ) THEN
  139.       ToDir = ToDir || "/"
  140.     Continue = TRUE
  141.    END
  142.   ELSE
  143.    DO
  144.     Text = "Use :" || NL || DestDir || NL || "as output directory ?"
  145.     OKAYN '"Confirm :"' '"'Text'"' '"Use|Select|Abort"'
  146.     IF ( RC = 0 ) THEN
  147.      CALL ForceExit
  148.     ELSE
  149.      IF ( RC = 1 ) THEN
  150.       DO
  151.        ToDir = DestDir
  152.        Continue = TRUE
  153.       END
  154.    END
  155.  END
  156.  
  157.  Continue = FALSE
  158.  DO UNTIL ( Continue = TRUE ) 
  159.  
  160.   PRAGMA( 'D' , STRIP( DestDir , 'T' , '/' ) )
  161.   ADDRESS COMMAND "C:Reko" Basename || ".000" NumberOfCards
  162.  
  163.   IF ( ~EXISTS( DestDir || "Card.REKO" ) ) THEN
  164.    DO
  165.     Text = "Unable to create final cardset" Basename || ".REKO" || NL || "Perhaps not enought disk space or memory."
  166.     OKAYN '"Error :"' '"'Text'"' '"Retry|Abort"'
  167.     IF ( RC = 0 ) THEN
  168.      CALL ForceExit
  169.    END
  170.   ELSE
  171.    DO
  172.     Continue = TRUE
  173.     ADDRESS COMMAND 'C:Filenote FILE="' || DestDir || 'Card.REKO" COMMENT="Created with Klondike ADPTools © 1995 Lejardinier Olivier"'
  174.    END
  175.  END
  176.  
  177.  CardsetDir = ToDir
  178.  FromDir = DestDir || "Card.REKO"
  179.  
  180.  IF ( ToDir ~= DestDir ) THEN
  181.   DO
  182.    ToDir = ToDir || Basename || ".REKO"
  183.    ADDRESS COMMAND "C:Copy FROM" FromDir ToDir "COM QUIET"
  184.    ADDRESS COMMAND "C:Delete >NIL: FILE" FromDir "QUIET"
  185.   END
  186.  ELSE
  187.   DO
  188.    ToDir = ToDir || Basename || ".REKO"
  189.    ADDRESS COMMAND "C:Rename FROM" FromDir "AS" ToDir "QUIET"
  190.   END
  191.  
  192.  Text = "You can find the cardset" Basename || ".REKO in directory :" || NL || CardsetDir
  193.  OKAYN '"Infos :"' '"'Text'"' '"Quit"'
  194.  
  195. /*
  196. ** Quit.
  197. */
  198.  
  199. ForceExit:
  200.  
  201.  CLOSE_RENDER_SCREEN
  202.  CLEAR_RENDERED
  203.  CLEAR_RAW
  204.  
  205.  IF ( EXISTS( TempDefaults ) ) THEN
  206.   DO
  207.    LOAD_DEFAULTS TempDefaults
  208.    IF (RC ~= 0) THEN
  209.     OKAY1 "Unable to restore old settings."
  210.     ADDRESS COMMAND "C:Delete >NIL: FILE" TempDefaults "QUIET"
  211.   END
  212.  
  213.  EXIT 0
  214.  RETURN
  215.